MANUAL RVIL-AC v1.0

 

 

 

Archivos Matlab de la interfaz gráfica del reconocedor vocálico basado en algoritmos Clustering:

 

reconocedor_vocalico.m

reconocedor_vocalico.fig 

 

Entorno gráfico:

 

Esta es la página principal del reconocedor vocálico desarrollado, de aquí se puede acceder a la implementación off-line pulsando Entrar. Una vez dentro del reconocedor off-line se podrá acceder a la página on-line. Al salir de una de estas dos páginas se retornará a la principal y desde ahí se tendrá la opción de entrar de nuevo o salir definitivamente del entorno gráfico. El botón Ayuda es un enlace a este manual.

 

A continuación se muestra las dos páginas comentadas.

 

 

Reconocedor vocálico Off-line.

 

Pasos a seguir reconocedor vocálico basado en algoritmos Clustering (Off-line):

 

1)      Seleccionar el algoritmo Clustering.

a)      Algoritmo Fuzzy C-Means (FCM).

b)      Algoritmo Hard C-Means (HCM).

c)      Algoritmo Learning Vector Quantization (LVQ)

2)      Elegir una acción:

a)      Pulsar Datos/Centros y observar los agrupamientos que se han obtenido en la fase de construcción del clasificador. En la gráfica de Clustering se mostrarán los centros resultantes del algoritmo seleccionado (denotados con círculos blancos) y los datos vocálicos de 8 hablantes (denotados con puntos, cada color pertenece a una vocal). Un dato está formado por los dos primeros formantes de un segmento vocálico. Cada vocal es dividida en segmentos y por cada segmento se obtienen los dos formantes cuyas frecuencias determinan la posición del dato vocálico.

b)      Pulsar uno de los 5 ejemplos vocálicos y observar como gracias a los centros resultantes se consigue clasificar el sonido vocálico. En la gráfica de Clustering de nuevo se mostraran los centros resultantes del algoritmo elegido (denotados con círculos, cada color pertenece al agrupo que representa) y los datos vocálicos del ejemplo escogido (denotados con un asterisco[*] negro). Por defecto el ejemplo vocálico se divide en 3 segmentos, por consiguiente, 3 serán los datos que aparecerán en la gráfica (Ver Apéndice Default). Existen dos centros por cada tipo de vocal. El conjunto de dos centros que más próximos están de la mayoría de los datos aparecen en blanco con el fin que sea conocido por el usuario de esta interfaz. Los datos serán clasificados con el tipo de vocal al que representan el conjunto de centros más próximos.

 

 

Opciones avanzadas (Off-line).

 

Existen 3 acciones en la barra de menús:

 

1)      Salir. Volver a página principal.

2)      Opciones. Modificar variables del reconocedor (Opciones avanzadas).

3)      Ayuda. Consultar este manual.

 

 

En las opciones nos encontramos:

 

1)      Adquisición y procesado.

2)      Clustering.

3)      Escuchar vocal.

4)      Ruido.

5)      Volver variables por defecto.

 

 

Adquisición y procesado.

 

1)      Detector de actividad vocal (VAD). Es un detector de extremos, objetivo encontrar el inicio y fin de la vocal. La variable que interviene es un factor de escala Sc, el cual se puede realizar dos acciones:

a)      Por defecto. Usar el valor de Sc predeterminado.

b)      Modificable. Usar el valor deseado por el usuario.

2)      Segmentado. Indica el número de segmentos en que se trocea la señal vocálica. Si la vocal tiene poca duración y se emplean muchos segmentos existirán segmentos sin información (solamente ruido). Las acciones son las mismas que en el caso anterior:

a)      Por defecto. Usar el valor de n_segm predeterminado.

b)      Modificable. Usar el valor deseado por el usuario.

3)      Coeficientes de predicción lineal(LPC). Indica el número de coeficientes LPC´s que se emplean para modelizar la vocal. Según bibliografías en este campo se debe elegir entre 10 y 15. Cuantos más coeficientes más se asemeja en frecuencia la vocal modelizada en el espectro de la misma. Nuevamente las acciones son:

a)      Por defecto. Usar el valor de n_coef predeterminado.

b)      Modificable. Usar el valor deseado por el usuario.

4)      Sintetizado vocal. Usar modelo de producción de voz en el que el filtro bucal, compuesto por los coeficientes LPC, es excitado mediante un generador:

a)      Tren de impulsos.(fuente sonora).

b)      Ruido blanco(fuente sorda).

El sintetizado de las vocales puede ser escuchado o no.

5)      Filtro bucal. Muestra la respuesta en frecuencia del filtro obtenido en los distintos segmentos vocálicos. Se podrá observar que habitualmente se asemejan los segmentos si estos no son muchos ().

 

 

Clustering.

 

1)      Ver variables por defecto. En el reconocedor off-line no está permitido modificar las variables de los algoritmos. Se realizó un estudio detallado y los centros obtenidos en él son los que vienen por defecto.

 

 

 

Escuchar vocal.

 

1)      Activar o desactivar el sonido. Si se desea escuchar los sonidos vocálicos o no.

 

 

 

Ruido.

 

1)      El ruido puede perjudicar seriamente el sistema reconocedor. Si se desea introducir ruido a los ejemplos vocálicos debe acceder a la acción Modificable si no desea ruido elija la otra acción.

 

 

 

Volver variables por defecto.

 

1)      Si desea resetear todas las variables del reconocedor puede hacerlo desde esta acción y no ir a cada una de las acciones Por defecto de cada submenú (Ej. Ruido, Segmentado, VAD,...).

 

 

 

Reconocedor vocálico On-line.

 

NOTA: Es necesario tener conectado un micrófono a la tarjeta de sonido del PC para adquirir la voz del usuario de la interfaz.

 

Pasos a seguir reconocedor vocálico basado en algoritmos Clustering (On-line):

 

1)      Seleccionar el algoritmo Clustering.

2)      Pulsar Adquirir voz. Para que el reconocedor capte la vocal correctamente espere a que muestre una vez la señal de ambiente por la gráfica de voz (sonido aparece en azul). Una vez aparezca la señal de ruido(ambiente) pronuncie la vocal que desee. El reconocedor adquirirá el sonido vocálico, lo procesará y será caracterizado (extraerá sus características frecuenciales, formantes). La acción de introducir nuevas vocales no se producirá si no se presiona con anterioridad el botón Adquirir voz. NOTA: Si se pronunciase dos vocales (una seguida de la otra) el reconocedor solo detectaría la primera de ellas, todo lo que viene posteriormente no lo considera.

3)      Después de captar un ejemplo nuevo se pueden realizar las siguientes acciones:

a)      Clasificar. Identificará el tipo de vocal pronunciada por última vez mediante el algoritmo elegido. Es posible reelegir el tipo de algoritmo y comparar los resultados de unos y otros, presionando de nuevo Clasificar. Los centros empleados para clasificar las vocales son los mismos a los que presentamos en el reconocedor off-line, obtenidos en el estudio del proyecto.

b)      Recalcular. El usuario, si lo desea, puede recalcular los centros con los ejemplos introducidos. NOTA: Es preferible que se pronuncien entre 10 y 20 ejemplos de cada vocal para que el algoritmo seleccionado tenga suficientes datos para realizar el agrupamiento. De todas formas, si se pronuncian menos de 14 ejemplos vocálicos el sistema añadirá ejemplos que se encuentran almacenados memoria.

 

 

Opciones avanzadas (On-line).

 

Existen 3 acciones en la barra de menús:

 

1)      Salir. Volver a página principal.

2)      Opciones. Modificar variables del reconocedor (Opciones avanzadas).

3)      Ayuda. Consultar este manual.

 

En las opciones nos encontramos:

 

1)      Clasificación.

2)      Fuzzy C-Means (FCM)

3)      Hard C-Means (HCM).

4)      Learning Vector Quantization (LVQ).

5)      Volver variables por defecto.

 

 

 

Clasificación.

 

1)      Se elige los centros con los cuales se quiere clasificar. Existen dos acciones:

a)      Por defecto. Los centros usados son los mismos que en el reconocedor off-line.

b)      Centros recalculados. Los centros son los obtenidos por el usuario al recalcular.

 

 

Fuzzy C-Means (FCM).

 

1)      Variables. Modifica las variables de este algoritmo (modificable) o por el contrario mantenlas por defecto. Existen dos variables; el grado de borrosificación y el umbral de parada. A mayor grado de borrosificación mayor solape entre grupos. El algoritmo finaliza cuando la actualización de los centros es inferior al umbral.

 

 

Hard C-Means (HCM).

 

1)      Variables. El umbral de parada es el única variable modificable. Al igual que el anterior el algoritmo finaliza cuando la actualización de los centros es inferior al umbral. Existen dos acciones:

a)      Por defecto. Usar el valor umbral predeterminado.

b)      Modificables. Usar el valor deseado por el usuario.

2)      Ver Proceso. Mostrará dos gráficas donde se observará el proceso del algoritmo. Inicialmente los centros se encuentran en una posición y son actualizados después de la finalización del algoritmo. El usuario elige si desea ver la evolución de los centros o no.

 

 

Learning Vector Quantization (LVQ).

 

 

1)      Variables. La constante de aprendizaje es la variable modificable. Ésta determina el aprendizaje de este algoritmo supervisado, premiando los aciertos y castigando los errores. Existen dos acciones:

a)      Por defecto. Usar el valor cte predeterminado.

b)      Modificables. Usar el valor deseado por el usuario.

2)      Ver Proceso. Igual que en el caso anterior mostrará dos gráficas donde se observará el proceso del algoritmo. El usuario elige si desea ver la evolución de los centros o no.

3)      Supervisión. Al ser un método Clustering supervisado es necesario el uso de un experto que premie o castigue. Se pueden realizar dos acciones:

a)      Automático. El propio sistema averiguará de que tipo de vocal se trata.

b)      Usuario. El usuario es el que supervisará, indicando el tipo de vocal que ha pronunciado con anterioridad. Los otros algoritmos son métodos no supervisados y no es necesario introducir este dato.

 

 

Volver variables por defecto.

 

1)      Si desea resetear todas las variables del reconocedor on-line puede hacerlo desde esta acción y no ir a cada una de las acciones Por defecto de cada submenú de cada algoritmo.

 

 

 

Apéndice Default

 

Datos o variables por defecto del reconocedor vocálico independiente del locutor basado en algoritmos Clustering:

 

Reconocedor Off-line Default

Reconocedor On-line Default

Sc = 5000

FCMborro = 1.5

n_coef = 12

FCMumbro = 1e-8

n_segm = 3

HCM = 0.5

ruido = 0

LVQ = 0.03

filtro_bucal = 0

proceso_HCM = 1

sintetizado_generador = 1

proceso_LVQ = 1

sintetizado_sonido = 0

supervisión = 0

sonido = 1